﻿Namespace GestionCalculs
    ''' <summary>
    ''' Spécialisation de <see cref="IFonctionCalcul" /> composée d'une séquence de <see cref="IFonctionCalcul" /> élémentaires
    ''' </summary>
    ''' <remarks></remarks>
    Public Interface IFonctionCalculComposee
        Inherits IFonctionCalcul

        ''' <summary>
        ''' Méthode permmettant l'ajout d'une <see cref="IFonctionCalcul" /> dans la séquence d'execution 
        ''' </summary>
        ''' <param name="value">Fonction de calcul</param>
        ''' <remarks></remarks>
        Sub AjouteFonctionCalculIntermediaire(ByVal value As IFonctionCalcul)

        ''' <summary>
        ''' Méthode permmettant la suppression d'une <see cref="IFonctionCalcul" /> de la séquence d'execution 
        ''' </summary>
        ''' <param name="value">Fonction de calcul</param>
        ''' <remarks></remarks>
        Sub RetireFonctionCalculIntermediaire(ByVal value As IFonctionCalcul)

        ''' <summary>
        ''' Méthode renvoyant la liste des fonctions 
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Function ListeFonctionsCalculIntermediaires() As IEnumerable
    End Interface

End Namespace
